package com.itheima.job;

import com.itheima.dao.ClearOldOrderSettingDao;
import com.itheima.utils.DateUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.Calendar;
import java.util.Date;
@Slf4j
public class ClearOldOrderSetting {

   @Autowired
    ClearOldOrderSettingDao clearOldOrderSettingDao;
    public void clearOldOrderSetting(){
        /**6、定时清理预约设置历史数据
         ****说明：预约设置（OrderSetting）数据是用来设置未来每天的可预约人数，随着时间的推移预约设置表的数据会越来越多，
         而对于已经过去的历史数据可以定时来进行清理，例如每月最后一天凌晨2点执行一次清理任务
         **/
            log.debug("定时清理预约设置表的数据,每个月最后一天清理,三个月之前的数据");
            //获取日历对象
            Calendar calendar = Calendar.getInstance();
            //月份向前调3个月,清除3个月之前月之前的垃圾数据
            calendar.add(Calendar.MONTH,-3);
            Date date = calendar.getTime();
            //将日期转换成字符串格式,对应数据库的日期格式
            String dateStr = DateUtils.parseDate2String(date);
            System.out.println(dateStr);
            //调用业务层根据时间删除数据库中的数据
            clearOldOrderSettingDao.delOrderSettingByDate(dateStr);
            System.out.println("执行了..."+ new Date());
    }
}
